Transmission of digitized video signals can provide video images of a much higher quality than the transmission of analog signals. However, the available frequency bandwidth of a conventional transmission channel is limited. In order to reduce bandwidth requirement and the amount of data to be sent during transmission, the voluminous digital video signal is compressed via encoding, without a considerable loss in visual quality.
Digital video encoding has achieved tremendous progress over the last decade. Various algorithms have been developed to achieve a very good quality video encoding at a given bandwidth using a combination of block transforms and inter frame motion estimation. These algorithms developed by the ISO MPEG committee (www.mpeg.org), namely MPEG-1 (ISO/IEC 11172-2), MPEG-2 (ISO/IEC13818-2), and MPEG-4 (ISO/IEC 14496-2) standards have become very popular over the years and have had greater acceptability because of the standardization in the encoding and the decoding methods.
MPEG-4 video compression removes spatial redundancy by employing discrete cosine transformation (or wavelet transform), quantization, zigzag scanning, and variable-length coding. Temporal redundancy is also removed through a process of inter-frame motion estimation and predictive coding. The entire frame to be coded is divided into squares of 8×8 blocks and/or 16×16 macroblocks. The MPEG-4 coded frames may be either intra-coded, forward only predictive coded, or bidirectional-predictive coded. An intra-coded frame is coded using only the spatial compression techniques, while a forward only predicted frame is coded using macroblocks selected from a single reference frame. A given bidirectional-predictive frame is encoded using macroblocks generated by interpolating between a pair of macroblocks selected from two reference frames, one preceding and the other following the bidirectional-predictive frame.
A significant problem with compressing video signals for transmission over limited bandwidth transmission paths is that the data becomes more susceptible to the presence of transmission errors. The nature of the transmission path will be such that the channel errors usually cannot be prevented, which can lead to undesirable quality degradation. Since MPEG uses predictive coding of frames, the quality degradation due to channel errors can propagate from one frame to another. In order to avoid these undesirable video quality degradation, channel error recovery and correction is generally applied to the decoded video.
One conventional method for detecting channel errors comprises including error correction codes as an overhead in the transmitted signal. Such methods prohibit using standard encoders and decoders. Other conventional techniques to detect channel errors have primitive error recovery techniques where the decoding process is re-synchronized to start a predetermined resynchronization point and the entire video packet that was in error is assumed to be damaged. These resynchronization points may be several macroblocks apart and the entire set of macroblocks lying between the two synchronization points is discarded to avoid any quality degradation. In addition, this can have an undesirable effect on the next frame due to the predictive coding applied as stated above. Hence the next frame, which uses the previous damaged frame's macroblocks, can also have severe quality degradation despite the frame being received without errors. This can result in excessive data loss, leading to unacceptable video quality, especially when a bit error rate is high.
Most conventional error recovery and correction techniques use the idea of unequal error protection, wherein portions of the video stream are protected with error correcting codes. The disadvantage with such schemes is that they are intrusive and require a change in the hardware at the encoding end. In addition, some conventional techniques use complex error correction techniques and are generally not suitable for real-time applications and are usually very expensive to implement in real-time embedded systems. Further, the conventional systems lack efficient and robust error localization and concealment techniques. Furthermore, conventional systems do not take advantage of error isolation toolsets like resynchronization markers, data partitioning, reversible variable length codes, and so on provided in MPEG-4 to isolate errors in the video packets to a few damaged blocks to achieve superior error localization, recovery, and concealment. Therefore, the conventional systems are generally inadequate to correct visual artifacts produced due to channel errors in coded video streams.